buildApp( 'register',{
    formId : 'registerform' ,

    vcodeInterval : null ,

    init : function(){
        this.initValidform( this.formId ) ;
        //绑定授权的提交
        $('.register_but').click( this.registerSubmit.bind(this) ) ;

        this.bindVCode() ;
    },

    /**
     * 绑定获取验证码事件
     */
    bindVCode : function(){
        $('.register_vcode').unbind( "click" ) ;
        $('.register_vcode').text( '获取短信验证码' ) ;
        if( this.vcodeInterval ){
            clearInterval( this.vcodeInterval ) ;
        }
        $('.register_vcode').click( this.registerVCode.bind(this) ) ;
    } ,

    /**
     * 解除绑定获取验证码事件并且开始计时
     */
    unbindVCodeAndStartTime : function(){
        $('.register_vcode').unbind( "click" ) ;
        //开启60秒计时，间隔时间1秒
        var timeout = 60 ;
        this.vcodeInterval = setInterval(function(){
            if( timeout==0 ){
                //结束循环，并重新绑定点击验证码
                if( this.vcodeInterval ){
                    clearInterval( this.vcodeInterval ) ;
                    this.vcodeInterval = null ;
                    this.bindVCode() ;
                }
            }else{
                $('.register_vcode').text( '剩余时间'+timeout+'秒' ) ;
                timeout-- ;
            }
        }.bind(this) , 1000 ) ;

    } ,

    /**
     * 注册处理
     */
    registerSubmit : function(){
        this.checkValidform( this.formId , function(formData){
            $.ajax({
                url : '/front/register' ,
                data : formData ,
                success : function(data) {
                    if(data && data.success){
                        //注册完成之后默认前往登录页面
                        toastr.success( '即将前往登录页面~' , '注册成功' , {
                            onHidden : function() {
                                window.location.href = "/login" ;
                            }
                        } ) ;
                    }else{
                        toastr.error( data.message , '注册失败' ) ;
                    }
                }.bind(this)
            });
        }.bind(this)) ;
    } ,

    /**
     * 注册验证码发送
     */
    registerVCode : function(){
        var mobile = this.getFormData(this.formId).mobile ;
        if( !mobile ){
            toastr.error( '手机号格式不正确' ) ;
            return ;
        }

        this.unbindVCodeAndStartTime() ;

        $.ajax({
            url : '/front/register/vcode' ,
            data : {
                mobile : mobile
            } ,
            success : function(data) {
                if(data && data.success){
                    toastr.success( '短信验证码发送成功~' ) ;
                }else{
                    //重新绑定验证
                    this.bindVCode() ;
                    toastr.error( data.message || '短信验证码发送失败' ) ;
                }
            }.bind(this)
        });
    }

}) ;